 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKApigateway/ApigatewayModel.h>

@implementation ImportApi
-(id) initWithApiDefine:(NSString*) apiDefine { 
     self.apiDefine = apiDefine;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiDefine])
    {
        [result setValue:[self apiDefine] forKey:@"apiDefine"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiDefine = [dictionary objectForKey:@"apiDefine"];
    return self;
}
 @end
@implementation BackendParameter
-(id) initWithBackendName:(NSString*) backendName
      backendParamLocation:(NSString*)backendParamLocation
      name:(NSString*)name
      paramLocation:(NSString*)paramLocation
      paramType:(NSString*)paramType { 
     self.backendName = backendName;               
     self.backendParamLocation = backendParamLocation;               
     self.name = name;               
     self.paramLocation = paramLocation;               
     self.paramType = paramType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self backendName])
    {
        [result setValue:[self backendName] forKey:@"backendName"];
    }
    if([self backendParamLocation])
    {
        [result setValue:[self backendParamLocation] forKey:@"backendParamLocation"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self paramLocation])
    {
        [result setValue:[self paramLocation] forKey:@"paramLocation"];
    }
    if([self paramType])
    {
        [result setValue:[self paramType] forKey:@"paramType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.backendName = [dictionary objectForKey:@"backendName"];
    self.backendParamLocation = [dictionary objectForKey:@"backendParamLocation"];
    self.name = [dictionary objectForKey:@"name"];
    self.paramLocation = [dictionary objectForKey:@"paramLocation"];
    self.paramType = [dictionary objectForKey:@"paramType"];
    return self;
}
 @end
@implementation DebugReturnMessage
-(id) initWithRequestUrl:(NSString*) requestUrl
      requestHeader:(NSString*)requestHeader
      requestBody:(NSString*)requestBody
      responseCodeStatus:(NSString*)responseCodeStatus
      responseHeaderValue:(NSString*)responseHeaderValue
      responseBody:(NSString*)responseBody { 
     self.requestUrl = requestUrl;               
     self.requestHeader = requestHeader;               
     self.requestBody = requestBody;               
     self.responseCodeStatus = responseCodeStatus;               
     self.responseHeaderValue = responseHeaderValue;               
     self.responseBody = responseBody;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self requestUrl])
    {
        [result setValue:[self requestUrl] forKey:@"requestUrl"];
    }
    if([self requestHeader])
    {
        [result setValue:[self requestHeader] forKey:@"requestHeader"];
    }
    if([self requestBody])
    {
        [result setValue:[self requestBody] forKey:@"requestBody"];
    }
    if([self responseCodeStatus])
    {
        [result setValue:[self responseCodeStatus] forKey:@"responseCodeStatus"];
    }
    if([self responseHeaderValue])
    {
        [result setValue:[self responseHeaderValue] forKey:@"responseHeaderValue"];
    }
    if([self responseBody])
    {
        [result setValue:[self responseBody] forKey:@"responseBody"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.requestUrl = [dictionary objectForKey:@"requestUrl"];
    self.requestHeader = [dictionary objectForKey:@"requestHeader"];
    self.requestBody = [dictionary objectForKey:@"requestBody"];
    self.responseCodeStatus = [dictionary objectForKey:@"responseCodeStatus"];
    self.responseHeaderValue = [dictionary objectForKey:@"responseHeaderValue"];
    self.responseBody = [dictionary objectForKey:@"responseBody"];
    return self;
}
 @end
@implementation ModifyApi
-(id) initWithWafStatus:(NSString*) wafStatus { 
     self.wafStatus = wafStatus;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self wafStatus])
    {
        [result setValue:[self wafStatus] forKey:@"wafStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.wafStatus = [dictionary objectForKey:@"wafStatus"];
    return self;
}
 @end
@implementation Parameter
-(id) initWithName:(NSString*) name
      descriptionValue:(NSString*)descriptionValue
      paramLocation:(NSString*)paramLocation
      paramType:(NSString*)paramType
      defaultValue:(NSString*)defaultValue
      isRequired:(NSNumber*)isRequired { 
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.paramLocation = paramLocation;               
     self.paramType = paramType;               
     self.defaultValue = defaultValue;               
     self.isRequired = isRequired;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self paramLocation])
    {
        [result setValue:[self paramLocation] forKey:@"paramLocation"];
    }
    if([self paramType])
    {
        [result setValue:[self paramType] forKey:@"paramType"];
    }
    if([self defaultValue])
    {
        [result setValue:[self defaultValue] forKey:@"defaultValue"];
    }
    if([self isRequired])
    {
        [result setValue:[self isRequired] forKey:@"isRequired"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.paramLocation = [dictionary objectForKey:@"paramLocation"];
    self.paramType = [dictionary objectForKey:@"paramType"];
    self.defaultValue = [dictionary objectForKey:@"defaultValue"];
    self.isRequired = [dictionary objectForKey:@"isRequired"];
    return self;
}
 @end
@implementation HufuApi
-(id) initWithApiId:(NSString*) apiId
      apiGroupId:(NSString*)apiGroupId
      apiStatus:(NSString*)apiStatus
      apiName:(NSString*)apiName
      descriptionValue:(NSString*)descriptionValue
      hufuAppTypeId:(NSNumber*)hufuAppTypeId { 
     self.apiId = apiId;               
     self.apiGroupId = apiGroupId;               
     self.apiStatus = apiStatus;               
     self.apiName = apiName;               
     self.descriptionValue = descriptionValue;               
     self.hufuAppTypeId = hufuAppTypeId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiId])
    {
        [result setValue:[self apiId] forKey:@"apiId"];
    }
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self apiStatus])
    {
        [result setValue:[self apiStatus] forKey:@"apiStatus"];
    }
    if([self apiName])
    {
        [result setValue:[self apiName] forKey:@"apiName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self hufuAppTypeId])
    {
        [result setValue:[self hufuAppTypeId] forKey:@"hufuAppTypeId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiId = [dictionary objectForKey:@"apiId"];
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.apiStatus = [dictionary objectForKey:@"apiStatus"];
    self.apiName = [dictionary objectForKey:@"apiName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.hufuAppTypeId = [dictionary objectForKey:@"hufuAppTypeId"];
    return self;
}
 @end
@implementation DebugApi
-(id) initWithAssessKey:(NSString*) assessKey
      secretKey:(NSString*)secretKey
      host:(NSString*)host
      uri:(NSString*)uri
      method:(NSString*)method
      authType:(NSString*)authType
      region:(NSString*)region
      queryString:(NSString*)queryString
      body:(NSString*)body
      reqBodyType:(NSString*)reqBodyType
      editableReqBodyType:(NSString*)editableReqBodyType
      headerString:(NSString*)headerString
      environment:(NSString*)environment
      isApiProduct:(NSString*)isApiProduct { 
     self.assessKey = assessKey;               
     self.secretKey = secretKey;               
     self.host = host;               
     self.uri = uri;               
     self.method = method;               
     self.authType = authType;               
     self.region = region;               
     self.queryString = queryString;               
     self.body = body;               
     self.reqBodyType = reqBodyType;               
     self.editableReqBodyType = editableReqBodyType;               
     self.headerString = headerString;               
     self.environment = environment;               
     self.isApiProduct = isApiProduct;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self assessKey])
    {
        [result setValue:[self assessKey] forKey:@"assessKey"];
    }
    if([self secretKey])
    {
        [result setValue:[self secretKey] forKey:@"secretKey"];
    }
    if([self host])
    {
        [result setValue:[self host] forKey:@"host"];
    }
    if([self uri])
    {
        [result setValue:[self uri] forKey:@"uri"];
    }
    if([self method])
    {
        [result setValue:[self method] forKey:@"method"];
    }
    if([self authType])
    {
        [result setValue:[self authType] forKey:@"authType"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self queryString])
    {
        [result setValue:[self queryString] forKey:@"queryString"];
    }
    if([self body])
    {
        [result setValue:[self body] forKey:@"body"];
    }
    if([self reqBodyType])
    {
        [result setValue:[self reqBodyType] forKey:@"reqBodyType"];
    }
    if([self editableReqBodyType])
    {
        [result setValue:[self editableReqBodyType] forKey:@"editableReqBodyType"];
    }
    if([self headerString])
    {
        [result setValue:[self headerString] forKey:@"headerString"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self isApiProduct])
    {
        [result setValue:[self isApiProduct] forKey:@"isApiProduct"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.assessKey = [dictionary objectForKey:@"assessKey"];
    self.secretKey = [dictionary objectForKey:@"secretKey"];
    self.host = [dictionary objectForKey:@"host"];
    self.uri = [dictionary objectForKey:@"uri"];
    self.method = [dictionary objectForKey:@"method"];
    self.authType = [dictionary objectForKey:@"authType"];
    self.region = [dictionary objectForKey:@"region"];
    self.queryString = [dictionary objectForKey:@"queryString"];
    self.body = [dictionary objectForKey:@"body"];
    self.reqBodyType = [dictionary objectForKey:@"reqBodyType"];
    self.editableReqBodyType = [dictionary objectForKey:@"editableReqBodyType"];
    self.headerString = [dictionary objectForKey:@"headerString"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.isApiProduct = [dictionary objectForKey:@"isApiProduct"];
    return self;
}
 @end
@implementation PinAuthManage
-(id) initWithSubordinatesName:(NSString*) subordinatesName
      subordinatesPin:(NSString*)subordinatesPin { 
     self.subordinatesName = subordinatesName;               
     self.subordinatesPin = subordinatesPin;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subordinatesName])
    {
        [result setValue:[self subordinatesName] forKey:@"subordinatesName"];
    }
    if([self subordinatesPin])
    {
        [result setValue:[self subordinatesPin] forKey:@"subordinatesPin"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subordinatesName = [dictionary objectForKey:@"subordinatesName"];
    self.subordinatesPin = [dictionary objectForKey:@"subordinatesPin"];
    return self;
}
 @end
@implementation Deploy
-(id) initWithRevision:(NSString*) revision
      environment:(NSString*)environment
      backendServiceType:(NSString*)backendServiceType
      backendUrl:(NSString*)backendUrl
      descriptionValue:(NSString*)descriptionValue
      jdsfName:(NSString*)jdsfName
      jdsfRegistryName:(NSString*)jdsfRegistryName
      jdsfId:(NSString*)jdsfId { 
     self.revision = revision;               
     self.environment = environment;               
     self.backendServiceType = backendServiceType;               
     self.backendUrl = backendUrl;               
     self.descriptionValue = descriptionValue;               
     self.jdsfName = jdsfName;               
     self.jdsfRegistryName = jdsfRegistryName;               
     self.jdsfId = jdsfId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self revision])
    {
        [result setValue:[self revision] forKey:@"revision"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self backendServiceType])
    {
        [result setValue:[self backendServiceType] forKey:@"backendServiceType"];
    }
    if([self backendUrl])
    {
        [result setValue:[self backendUrl] forKey:@"backendUrl"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self jdsfName])
    {
        [result setValue:[self jdsfName] forKey:@"jdsfName"];
    }
    if([self jdsfRegistryName])
    {
        [result setValue:[self jdsfRegistryName] forKey:@"jdsfRegistryName"];
    }
    if([self jdsfId])
    {
        [result setValue:[self jdsfId] forKey:@"jdsfId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.revision = [dictionary objectForKey:@"revision"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.backendServiceType = [dictionary objectForKey:@"backendServiceType"];
    self.backendUrl = [dictionary objectForKey:@"backendUrl"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.jdsfName = [dictionary objectForKey:@"jdsfName"];
    self.jdsfRegistryName = [dictionary objectForKey:@"jdsfRegistryName"];
    self.jdsfId = [dictionary objectForKey:@"jdsfId"];
    return self;
}
 @end
@implementation Deployment
-(id) initWithDeploymentId:(NSString*) deploymentId
      revision:(NSString*)revision
      path:(NSString*)path
      environment:(NSString*)environment
      backendServiceType:(NSString*)backendServiceType
      backendUrl:(NSString*)backendUrl
      descriptionValue:(NSString*)descriptionValue
      createTime:(NSNumber*)createTime
      jdsfName:(NSString*)jdsfName
      jdsfRegistryName:(NSString*)jdsfRegistryName
      jdsfId:(NSString*)jdsfId { 
     self.deploymentId = deploymentId;               
     self.revision = revision;               
     self.path = path;               
     self.environment = environment;               
     self.backendServiceType = backendServiceType;               
     self.backendUrl = backendUrl;               
     self.descriptionValue = descriptionValue;               
     self.createTime = createTime;               
     self.jdsfName = jdsfName;               
     self.jdsfRegistryName = jdsfRegistryName;               
     self.jdsfId = jdsfId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deploymentId])
    {
        [result setValue:[self deploymentId] forKey:@"deploymentId"];
    }
    if([self revision])
    {
        [result setValue:[self revision] forKey:@"revision"];
    }
    if([self path])
    {
        [result setValue:[self path] forKey:@"path"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self backendServiceType])
    {
        [result setValue:[self backendServiceType] forKey:@"backendServiceType"];
    }
    if([self backendUrl])
    {
        [result setValue:[self backendUrl] forKey:@"backendUrl"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self jdsfName])
    {
        [result setValue:[self jdsfName] forKey:@"jdsfName"];
    }
    if([self jdsfRegistryName])
    {
        [result setValue:[self jdsfRegistryName] forKey:@"jdsfRegistryName"];
    }
    if([self jdsfId])
    {
        [result setValue:[self jdsfId] forKey:@"jdsfId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deploymentId = [dictionary objectForKey:@"deploymentId"];
    self.revision = [dictionary objectForKey:@"revision"];
    self.path = [dictionary objectForKey:@"path"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.backendServiceType = [dictionary objectForKey:@"backendServiceType"];
    self.backendUrl = [dictionary objectForKey:@"backendUrl"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.jdsfName = [dictionary objectForKey:@"jdsfName"];
    self.jdsfRegistryName = [dictionary objectForKey:@"jdsfRegistryName"];
    self.jdsfId = [dictionary objectForKey:@"jdsfId"];
    return self;
}
 @end
@implementation ApiProduct
-(id) initWithApiGroupId:(NSString*) apiGroupId
      groupName:(NSString*)groupName
      descriptionValue:(NSString*)descriptionValue
      version:(NSString*)version
      regionId:(NSString*)regionId
      price:(NSString*)price
      deploymentDate:(NSNumber*)deploymentDate
      isBuyed:(NSNumber*)isBuyed
      buyDate:(NSNumber*)buyDate { 
     self.apiGroupId = apiGroupId;               
     self.groupName = groupName;               
     self.descriptionValue = descriptionValue;               
     self.version = version;               
     self.regionId = regionId;               
     self.price = price;               
     self.deploymentDate = deploymentDate;               
     self.isBuyed = isBuyed;               
     self.buyDate = buyDate;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self version])
    {
        [result setValue:[self version] forKey:@"version"];
    }
    if([self regionId])
    {
        [result setValue:[self regionId] forKey:@"regionId"];
    }
    if([self price])
    {
        [result setValue:[self price] forKey:@"price"];
    }
    if([self deploymentDate])
    {
        [result setValue:[self deploymentDate] forKey:@"deploymentDate"];
    }
    if([self isBuyed])
    {
        [result setValue:[self isBuyed] forKey:@"isBuyed"];
    }
    if([self buyDate])
    {
        [result setValue:[self buyDate] forKey:@"buyDate"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.version = [dictionary objectForKey:@"version"];
    self.regionId = [dictionary objectForKey:@"regionId"];
    self.price = [dictionary objectForKey:@"price"];
    self.deploymentDate = [dictionary objectForKey:@"deploymentDate"];
    self.isBuyed = [dictionary objectForKey:@"isBuyed"];
    self.buyDate = [dictionary objectForKey:@"buyDate"];
    return self;
}
 @end
@implementation Function
-(id) initWithFunctionName:(NSString*) functionName
      versionName:(NSString*)versionName { 
     self.functionName = functionName;               
     self.versionName = versionName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self functionName])
    {
        [result setValue:[self functionName] forKey:@"functionName"];
    }
    if([self versionName])
    {
        [result setValue:[self versionName] forKey:@"versionName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.functionName = [dictionary objectForKey:@"functionName"];
    self.versionName = [dictionary objectForKey:@"versionName"];
    return self;
}
 @end
@implementation FuntionApi
-(id) initWithApiId:(NSString*) apiId
      apiGroupId:(NSString*)apiGroupId
      groupName:(NSString*)groupName
      revision:(NSString*)revision
      apiName:(NSString*)apiName
      action:(NSString*)action
      path:(NSArray<NSString*>*)path
      descriptionValue:(NSString*)descriptionValue
      deploymentStatus:(NSNumber*)deploymentStatus { 
     self.apiId = apiId;               
     self.apiGroupId = apiGroupId;               
     self.groupName = groupName;               
     self.revision = revision;               
     self.apiName = apiName;               
     self.action = action;               
     self.path = path;               
     self.descriptionValue = descriptionValue;               
     self.deploymentStatus = deploymentStatus;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiId])
    {
        [result setValue:[self apiId] forKey:@"apiId"];
    }
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self revision])
    {
        [result setValue:[self revision] forKey:@"revision"];
    }
    if([self apiName])
    {
        [result setValue:[self apiName] forKey:@"apiName"];
    }
    if([self action])
    {
        [result setValue:[self action] forKey:@"action"];
    }
    if([self path])
    {
        [result setValue:[self path] forKey:@"path"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self deploymentStatus])
    {
        [result setValue:[self deploymentStatus] forKey:@"deploymentStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiId = [dictionary objectForKey:@"apiId"];
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.revision = [dictionary objectForKey:@"revision"];
    self.apiName = [dictionary objectForKey:@"apiName"];
    self.action = [dictionary objectForKey:@"action"];
    self.path = [dictionary objectForKey:@"path"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.deploymentStatus = [dictionary objectForKey:@"deploymentStatus"];
    return self;
}
 @end
@implementation Formula
-(id) initWithKey:(NSString*) key
      value:(NSString*)value
      unit:(NSString*)unit { 
     self.key = key;               
     self.value = value;               
     self.unit = unit;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    if([self unit])
    {
        [result setValue:[self unit] forKey:@"unit"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.value = [dictionary objectForKey:@"value"];
    self.unit = [dictionary objectForKey:@"unit"];
    return self;
}
 @end
@implementation RateLimitPolicy
-(id) initWithPolicyId:(NSString*) policyId
      policyName:(NSString*)policyName
      timeUnit:(NSString*)timeUnit
      apiLimitCount:(NSNumber*)apiLimitCount
      userLimitCount:(NSNumber*)userLimitCount
      appLimitCount:(NSNumber*)appLimitCount
      userId:(NSString*)userId
      pin:(NSString*)pin
      descriptionValue:(NSString*)descriptionValue
      bindGroups:(NSString*)bindGroups { 
     self.policyId = policyId;               
     self.policyName = policyName;               
     self.timeUnit = timeUnit;               
     self.apiLimitCount = apiLimitCount;               
     self.userLimitCount = userLimitCount;               
     self.appLimitCount = appLimitCount;               
     self.userId = userId;               
     self.pin = pin;               
     self.descriptionValue = descriptionValue;               
     self.bindGroups = bindGroups;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self policyId])
    {
        [result setValue:[self policyId] forKey:@"policyId"];
    }
    if([self policyName])
    {
        [result setValue:[self policyName] forKey:@"policyName"];
    }
    if([self timeUnit])
    {
        [result setValue:[self timeUnit] forKey:@"timeUnit"];
    }
    if([self apiLimitCount])
    {
        [result setValue:[self apiLimitCount] forKey:@"apiLimitCount"];
    }
    if([self userLimitCount])
    {
        [result setValue:[self userLimitCount] forKey:@"userLimitCount"];
    }
    if([self appLimitCount])
    {
        [result setValue:[self appLimitCount] forKey:@"appLimitCount"];
    }
    if([self userId])
    {
        [result setValue:[self userId] forKey:@"userId"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self bindGroups])
    {
        [result setValue:[self bindGroups] forKey:@"bindGroups"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.policyId = [dictionary objectForKey:@"policyId"];
    self.policyName = [dictionary objectForKey:@"policyName"];
    self.timeUnit = [dictionary objectForKey:@"timeUnit"];
    self.apiLimitCount = [dictionary objectForKey:@"apiLimitCount"];
    self.userLimitCount = [dictionary objectForKey:@"userLimitCount"];
    self.appLimitCount = [dictionary objectForKey:@"appLimitCount"];
    self.userId = [dictionary objectForKey:@"userId"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.bindGroups = [dictionary objectForKey:@"bindGroups"];
    return self;
}
 @end
@implementation RateLimitPolicyView
-(id) initWithPolicyName:(NSString*) policyName
      timeUnit:(NSString*)timeUnit
      apiLimitCount:(NSNumber*)apiLimitCount
      userLimitCount:(NSNumber*)userLimitCount
      appLimitCount:(NSNumber*)appLimitCount
      descriptionValue:(NSString*)descriptionValue { 
     self.policyName = policyName;               
     self.timeUnit = timeUnit;               
     self.apiLimitCount = apiLimitCount;               
     self.userLimitCount = userLimitCount;               
     self.appLimitCount = appLimitCount;               
     self.descriptionValue = descriptionValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self policyName])
    {
        [result setValue:[self policyName] forKey:@"policyName"];
    }
    if([self timeUnit])
    {
        [result setValue:[self timeUnit] forKey:@"timeUnit"];
    }
    if([self apiLimitCount])
    {
        [result setValue:[self apiLimitCount] forKey:@"apiLimitCount"];
    }
    if([self userLimitCount])
    {
        [result setValue:[self userLimitCount] forKey:@"userLimitCount"];
    }
    if([self appLimitCount])
    {
        [result setValue:[self appLimitCount] forKey:@"appLimitCount"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.policyName = [dictionary objectForKey:@"policyName"];
    self.timeUnit = [dictionary objectForKey:@"timeUnit"];
    self.apiLimitCount = [dictionary objectForKey:@"apiLimitCount"];
    self.userLimitCount = [dictionary objectForKey:@"userLimitCount"];
    self.appLimitCount = [dictionary objectForKey:@"appLimitCount"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
}
 @end
@implementation SimpleParameter
-(id) initWithName:(NSString*) name
      value:(NSString*)value { 
     self.name = name;               
     self.value = value;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.value = [dictionary objectForKey:@"value"];
    return self;
}
 @end
@implementation RevisionList
-(id) initWithRevisionId:(NSString*) revisionId
      revision:(NSString*)revision
      baseRevision:(NSString*)baseRevision
      environment:(NSString*)environment
      createdAt:(NSString*)createdAt
      revisionNote:(NSString*)revisionNote { 
     self.revisionId = revisionId;               
     self.revision = revision;               
     self.baseRevision = baseRevision;               
     self.environment = environment;               
     self.createdAt = createdAt;               
     self.revisionNote = revisionNote;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self revisionId])
    {
        [result setValue:[self revisionId] forKey:@"revisionId"];
    }
    if([self revision])
    {
        [result setValue:[self revision] forKey:@"revision"];
    }
    if([self baseRevision])
    {
        [result setValue:[self baseRevision] forKey:@"baseRevision"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self createdAt])
    {
        [result setValue:[self createdAt] forKey:@"createdAt"];
    }
    if([self revisionNote])
    {
        [result setValue:[self revisionNote] forKey:@"revisionNote"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.revisionId = [dictionary objectForKey:@"revisionId"];
    self.revision = [dictionary objectForKey:@"revision"];
    self.baseRevision = [dictionary objectForKey:@"baseRevision"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.createdAt = [dictionary objectForKey:@"createdAt"];
    self.revisionNote = [dictionary objectForKey:@"revisionNote"];
    return self;
}
 @end
@implementation CreateRevision
-(id) initWithRevision:(NSString*) revision
      baseRevision:(NSString*)baseRevision
      revisionNote:(NSString*)revisionNote { 
     self.revision = revision;               
     self.baseRevision = baseRevision;               
     self.revisionNote = revisionNote;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self revision])
    {
        [result setValue:[self revision] forKey:@"revision"];
    }
    if([self baseRevision])
    {
        [result setValue:[self baseRevision] forKey:@"baseRevision"];
    }
    if([self revisionNote])
    {
        [result setValue:[self revisionNote] forKey:@"revisionNote"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.revision = [dictionary objectForKey:@"revision"];
    self.baseRevision = [dictionary objectForKey:@"baseRevision"];
    self.revisionNote = [dictionary objectForKey:@"revisionNote"];
    return self;
}
 @end
@implementation UpdateRevision
-(id) initWithRevisionNote:(NSString*) revisionNote { 
     self.revisionNote = revisionNote;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self revisionNote])
    {
        [result setValue:[self revisionNote] forKey:@"revisionNote"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.revisionNote = [dictionary objectForKey:@"revisionNote"];
    return self;
}
 @end
@implementation UcAccessKey
-(id) initWithAccessKeyStatus:(NSString*) accessKeyStatus
      accessKey:(NSString*)accessKey { 
     self.accessKeyStatus = accessKeyStatus;               
     self.accessKey = accessKey;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self accessKeyStatus])
    {
        [result setValue:[self accessKeyStatus] forKey:@"accessKeyStatus"];
    }
    if([self accessKey])
    {
        [result setValue:[self accessKey] forKey:@"accessKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accessKeyStatus = [dictionary objectForKey:@"accessKeyStatus"];
    self.accessKey = [dictionary objectForKey:@"accessKey"];
    return self;
}
 @end
@implementation KeyInfo
-(id) initWithUserId:(NSString*) userId
      keyId:(NSString*)keyId
      keyName:(NSString*)keyName
      accessKey:(NSString*)accessKey
      secretKey:(NSString*)secretKey
      keyDesc:(NSString*)keyDesc
      createTime:(NSString*)createTime { 
     self.userId = userId;               
     self.keyId = keyId;               
     self.keyName = keyName;               
     self.accessKey = accessKey;               
     self.secretKey = secretKey;               
     self.keyDesc = keyDesc;               
     self.createTime = createTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self userId])
    {
        [result setValue:[self userId] forKey:@"userId"];
    }
    if([self keyId])
    {
        [result setValue:[self keyId] forKey:@"keyId"];
    }
    if([self keyName])
    {
        [result setValue:[self keyName] forKey:@"keyName"];
    }
    if([self accessKey])
    {
        [result setValue:[self accessKey] forKey:@"accessKey"];
    }
    if([self secretKey])
    {
        [result setValue:[self secretKey] forKey:@"secretKey"];
    }
    if([self keyDesc])
    {
        [result setValue:[self keyDesc] forKey:@"keyDesc"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.userId = [dictionary objectForKey:@"userId"];
    self.keyId = [dictionary objectForKey:@"keyId"];
    self.keyName = [dictionary objectForKey:@"keyName"];
    self.accessKey = [dictionary objectForKey:@"accessKey"];
    self.secretKey = [dictionary objectForKey:@"secretKey"];
    self.keyDesc = [dictionary objectForKey:@"keyDesc"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    return self;
}
 @end
@implementation CreateApiGroup
-(id) initWithGroupName:(NSString*) groupName
      descriptionValue:(NSString*)descriptionValue
      prefix:(NSString*)prefix
      keyCheck:(NSString*)keyCheck
      authType:(NSString*)authType
      prefixStrip:(NSNumber*)prefixStrip
      groupType:(NSString*)groupType
      jdsfName:(NSString*)jdsfName
      jdsfRegistryName:(NSString*)jdsfRegistryName
      jdsfId:(NSString*)jdsfId { 
     self.groupName = groupName;               
     self.descriptionValue = descriptionValue;               
     self.prefix = prefix;               
     self.keyCheck = keyCheck;               
     self.authType = authType;               
     self.prefixStrip = prefixStrip;               
     self.groupType = groupType;               
     self.jdsfName = jdsfName;               
     self.jdsfRegistryName = jdsfRegistryName;               
     self.jdsfId = jdsfId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self prefix])
    {
        [result setValue:[self prefix] forKey:@"prefix"];
    }
    if([self keyCheck])
    {
        [result setValue:[self keyCheck] forKey:@"keyCheck"];
    }
    if([self authType])
    {
        [result setValue:[self authType] forKey:@"authType"];
    }
    if([self prefixStrip])
    {
        [result setValue:[self prefixStrip] forKey:@"prefixStrip"];
    }
    if([self groupType])
    {
        [result setValue:[self groupType] forKey:@"groupType"];
    }
    if([self jdsfName])
    {
        [result setValue:[self jdsfName] forKey:@"jdsfName"];
    }
    if([self jdsfRegistryName])
    {
        [result setValue:[self jdsfRegistryName] forKey:@"jdsfRegistryName"];
    }
    if([self jdsfId])
    {
        [result setValue:[self jdsfId] forKey:@"jdsfId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.prefix = [dictionary objectForKey:@"prefix"];
    self.keyCheck = [dictionary objectForKey:@"keyCheck"];
    self.authType = [dictionary objectForKey:@"authType"];
    self.prefixStrip = [dictionary objectForKey:@"prefixStrip"];
    self.groupType = [dictionary objectForKey:@"groupType"];
    self.jdsfName = [dictionary objectForKey:@"jdsfName"];
    self.jdsfRegistryName = [dictionary objectForKey:@"jdsfRegistryName"];
    self.jdsfId = [dictionary objectForKey:@"jdsfId"];
    return self;
}
 @end
@implementation ApiGroupMonitor
-(id) initWithApiGroupId:(NSString*) apiGroupId
      groupName:(NSString*)groupName
      backendUrl:(NSString*)backendUrl
      groupPath:(NSString*)groupPath
      version:(NSString*)version
      apiCount:(NSString*)apiCount
      deploymentDate:(NSNumber*)deploymentDate { 
     self.apiGroupId = apiGroupId;               
     self.groupName = groupName;               
     self.backendUrl = backendUrl;               
     self.groupPath = groupPath;               
     self.version = version;               
     self.apiCount = apiCount;               
     self.deploymentDate = deploymentDate;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self backendUrl])
    {
        [result setValue:[self backendUrl] forKey:@"backendUrl"];
    }
    if([self groupPath])
    {
        [result setValue:[self groupPath] forKey:@"groupPath"];
    }
    if([self version])
    {
        [result setValue:[self version] forKey:@"version"];
    }
    if([self apiCount])
    {
        [result setValue:[self apiCount] forKey:@"apiCount"];
    }
    if([self deploymentDate])
    {
        [result setValue:[self deploymentDate] forKey:@"deploymentDate"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.backendUrl = [dictionary objectForKey:@"backendUrl"];
    self.groupPath = [dictionary objectForKey:@"groupPath"];
    self.version = [dictionary objectForKey:@"version"];
    self.apiCount = [dictionary objectForKey:@"apiCount"];
    self.deploymentDate = [dictionary objectForKey:@"deploymentDate"];
    return self;
}
 @end
@implementation ApiGroupMonitorDetail
-(id) initWithGroupName:(NSString*) groupName
      backendUrl:(NSString*)backendUrl
      groupPath:(NSString*)groupPath
      version:(NSString*)version
      descriptionValue:(NSString*)descriptionValue
      deploymentDate:(NSNumber*)deploymentDate { 
     self.groupName = groupName;               
     self.backendUrl = backendUrl;               
     self.groupPath = groupPath;               
     self.version = version;               
     self.descriptionValue = descriptionValue;               
     self.deploymentDate = deploymentDate;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self backendUrl])
    {
        [result setValue:[self backendUrl] forKey:@"backendUrl"];
    }
    if([self groupPath])
    {
        [result setValue:[self groupPath] forKey:@"groupPath"];
    }
    if([self version])
    {
        [result setValue:[self version] forKey:@"version"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self deploymentDate])
    {
        [result setValue:[self deploymentDate] forKey:@"deploymentDate"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.backendUrl = [dictionary objectForKey:@"backendUrl"];
    self.groupPath = [dictionary objectForKey:@"groupPath"];
    self.version = [dictionary objectForKey:@"version"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.deploymentDate = [dictionary objectForKey:@"deploymentDate"];
    return self;
}
 @end
@implementation UpdateApiGroup
-(id) initWithGroupName:(NSString*) groupName
      descriptionValue:(NSString*)descriptionValue
      prefix:(NSString*)prefix
      keyCheck:(NSString*)keyCheck
      authType:(NSString*)authType
      prefixStrip:(NSNumber*)prefixStrip
      groupType:(NSString*)groupType
      jdsfName:(NSString*)jdsfName
      jdsfRegistryName:(NSString*)jdsfRegistryName
      jdsfId:(NSString*)jdsfId { 
     self.groupName = groupName;               
     self.descriptionValue = descriptionValue;               
     self.prefix = prefix;               
     self.keyCheck = keyCheck;               
     self.authType = authType;               
     self.prefixStrip = prefixStrip;               
     self.groupType = groupType;               
     self.jdsfName = jdsfName;               
     self.jdsfRegistryName = jdsfRegistryName;               
     self.jdsfId = jdsfId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self prefix])
    {
        [result setValue:[self prefix] forKey:@"prefix"];
    }
    if([self keyCheck])
    {
        [result setValue:[self keyCheck] forKey:@"keyCheck"];
    }
    if([self authType])
    {
        [result setValue:[self authType] forKey:@"authType"];
    }
    if([self prefixStrip])
    {
        [result setValue:[self prefixStrip] forKey:@"prefixStrip"];
    }
    if([self groupType])
    {
        [result setValue:[self groupType] forKey:@"groupType"];
    }
    if([self jdsfName])
    {
        [result setValue:[self jdsfName] forKey:@"jdsfName"];
    }
    if([self jdsfRegistryName])
    {
        [result setValue:[self jdsfRegistryName] forKey:@"jdsfRegistryName"];
    }
    if([self jdsfId])
    {
        [result setValue:[self jdsfId] forKey:@"jdsfId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.prefix = [dictionary objectForKey:@"prefix"];
    self.keyCheck = [dictionary objectForKey:@"keyCheck"];
    self.authType = [dictionary objectForKey:@"authType"];
    self.prefixStrip = [dictionary objectForKey:@"prefixStrip"];
    self.groupType = [dictionary objectForKey:@"groupType"];
    self.jdsfName = [dictionary objectForKey:@"jdsfName"];
    self.jdsfRegistryName = [dictionary objectForKey:@"jdsfRegistryName"];
    self.jdsfId = [dictionary objectForKey:@"jdsfId"];
    return self;
}
 @end
@implementation ApiGroupCount
-(id) initWithGatewayId:(NSString*) gatewayId
      count:(NSNumber*)count { 
     self.gatewayId = gatewayId;               
     self.count = count;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self gatewayId])
    {
        [result setValue:[self gatewayId] forKey:@"gatewayId"];
    }
    if([self count])
    {
        [result setValue:[self count] forKey:@"count"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.gatewayId = [dictionary objectForKey:@"gatewayId"];
    self.count = [dictionary objectForKey:@"count"];
    return self;
}
 @end
@implementation BindApiGroup
-(id) initWithApiGroupId:(NSString*) apiGroupId
      groupName:(NSString*)groupName
      descriptionValue:(NSString*)descriptionValue
      prefix:(NSString*)prefix
      version:(NSString*)version
      regionId:(NSString*)regionId
      domain:(NSString*)domain
      environment:(NSString*)environment
      keyCheck:(NSString*)keyCheck
      authType:(NSString*)authType
      prefixStrip:(NSNumber*)prefixStrip
      groupType:(NSString*)groupType
      jdsfName:(NSString*)jdsfName
      jdsfRegistryName:(NSString*)jdsfRegistryName
      jdsfId:(NSString*)jdsfId
      deploy:(NSNumber*)deploy { 
     self.apiGroupId = apiGroupId;               
     self.groupName = groupName;               
     self.descriptionValue = descriptionValue;               
     self.prefix = prefix;               
     self.version = version;               
     self.regionId = regionId;               
     self.domain = domain;               
     self.environment = environment;               
     self.keyCheck = keyCheck;               
     self.authType = authType;               
     self.prefixStrip = prefixStrip;               
     self.groupType = groupType;               
     self.jdsfName = jdsfName;               
     self.jdsfRegistryName = jdsfRegistryName;               
     self.jdsfId = jdsfId;               
     self.deploy = deploy;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self prefix])
    {
        [result setValue:[self prefix] forKey:@"prefix"];
    }
    if([self version])
    {
        [result setValue:[self version] forKey:@"version"];
    }
    if([self regionId])
    {
        [result setValue:[self regionId] forKey:@"regionId"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self keyCheck])
    {
        [result setValue:[self keyCheck] forKey:@"keyCheck"];
    }
    if([self authType])
    {
        [result setValue:[self authType] forKey:@"authType"];
    }
    if([self prefixStrip])
    {
        [result setValue:[self prefixStrip] forKey:@"prefixStrip"];
    }
    if([self groupType])
    {
        [result setValue:[self groupType] forKey:@"groupType"];
    }
    if([self jdsfName])
    {
        [result setValue:[self jdsfName] forKey:@"jdsfName"];
    }
    if([self jdsfRegistryName])
    {
        [result setValue:[self jdsfRegistryName] forKey:@"jdsfRegistryName"];
    }
    if([self jdsfId])
    {
        [result setValue:[self jdsfId] forKey:@"jdsfId"];
    }
    if([self deploy])
    {
        [result setValue:[self deploy] forKey:@"deploy"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.prefix = [dictionary objectForKey:@"prefix"];
    self.version = [dictionary objectForKey:@"version"];
    self.regionId = [dictionary objectForKey:@"regionId"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.keyCheck = [dictionary objectForKey:@"keyCheck"];
    self.authType = [dictionary objectForKey:@"authType"];
    self.prefixStrip = [dictionary objectForKey:@"prefixStrip"];
    self.groupType = [dictionary objectForKey:@"groupType"];
    self.jdsfName = [dictionary objectForKey:@"jdsfName"];
    self.jdsfRegistryName = [dictionary objectForKey:@"jdsfRegistryName"];
    self.jdsfId = [dictionary objectForKey:@"jdsfId"];
    self.deploy = [dictionary objectForKey:@"deploy"];
    return self;
}
 @end
@implementation GenerateInfo
-(id) initWithLanguage:(NSString*) language
      fileStatus:(NSNumber*)fileStatus
      fileUrl:(NSString*)fileUrl { 
     self.language = language;               
     self.fileStatus = fileStatus;               
     self.fileUrl = fileUrl;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self language])
    {
        [result setValue:[self language] forKey:@"language"];
    }
    if([self fileStatus])
    {
        [result setValue:[self fileStatus] forKey:@"fileStatus"];
    }
    if([self fileUrl])
    {
        [result setValue:[self fileUrl] forKey:@"fileUrl"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.language = [dictionary objectForKey:@"language"];
    self.fileStatus = [dictionary objectForKey:@"fileStatus"];
    self.fileUrl = [dictionary objectForKey:@"fileUrl"];
    return self;
}
 @end
@implementation BindedGroup
-(id) initWithApiGroupId:(NSString*) apiGroupId
      groupName:(NSString*)groupName
      region:(NSString*)region
      environment:(NSString*)environment
      bindedTime:(NSString*)bindedTime { 
     self.apiGroupId = apiGroupId;               
     self.groupName = groupName;               
     self.region = region;               
     self.environment = environment;               
     self.bindedTime = bindedTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self bindedTime])
    {
        [result setValue:[self bindedTime] forKey:@"bindedTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.region = [dictionary objectForKey:@"region"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.bindedTime = [dictionary objectForKey:@"bindedTime"];
    return self;
}
 @end
@implementation ApiGroupEx
-(id) initWithApiGroupId:(NSString*) apiGroupId
      groupName:(NSString*)groupName
      regionId:(NSString*)regionId { 
     self.apiGroupId = apiGroupId;               
     self.groupName = groupName;               
     self.regionId = regionId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self regionId])
    {
        [result setValue:[self regionId] forKey:@"regionId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.regionId = [dictionary objectForKey:@"regionId"];
    return self;
}
 @end
@implementation ApiGroup
-(id) initWithApiGroupId:(NSString*) apiGroupId
      groupName:(NSString*)groupName
      descriptionValue:(NSString*)descriptionValue
      prefix:(NSString*)prefix
      version:(NSString*)version
      regionId:(NSString*)regionId
      domain:(NSString*)domain
      environment:(NSString*)environment
      keyCheck:(NSString*)keyCheck
      authType:(NSString*)authType
      prefixStrip:(NSNumber*)prefixStrip
      groupType:(NSString*)groupType
      jdsfName:(NSString*)jdsfName
      jdsfRegistryName:(NSString*)jdsfRegistryName
      jdsfId:(NSString*)jdsfId
      deploy:(NSNumber*)deploy { 
     self.apiGroupId = apiGroupId;               
     self.groupName = groupName;               
     self.descriptionValue = descriptionValue;               
     self.prefix = prefix;               
     self.version = version;               
     self.regionId = regionId;               
     self.domain = domain;               
     self.environment = environment;               
     self.keyCheck = keyCheck;               
     self.authType = authType;               
     self.prefixStrip = prefixStrip;               
     self.groupType = groupType;               
     self.jdsfName = jdsfName;               
     self.jdsfRegistryName = jdsfRegistryName;               
     self.jdsfId = jdsfId;               
     self.deploy = deploy;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self prefix])
    {
        [result setValue:[self prefix] forKey:@"prefix"];
    }
    if([self version])
    {
        [result setValue:[self version] forKey:@"version"];
    }
    if([self regionId])
    {
        [result setValue:[self regionId] forKey:@"regionId"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self keyCheck])
    {
        [result setValue:[self keyCheck] forKey:@"keyCheck"];
    }
    if([self authType])
    {
        [result setValue:[self authType] forKey:@"authType"];
    }
    if([self prefixStrip])
    {
        [result setValue:[self prefixStrip] forKey:@"prefixStrip"];
    }
    if([self groupType])
    {
        [result setValue:[self groupType] forKey:@"groupType"];
    }
    if([self jdsfName])
    {
        [result setValue:[self jdsfName] forKey:@"jdsfName"];
    }
    if([self jdsfRegistryName])
    {
        [result setValue:[self jdsfRegistryName] forKey:@"jdsfRegistryName"];
    }
    if([self jdsfId])
    {
        [result setValue:[self jdsfId] forKey:@"jdsfId"];
    }
    if([self deploy])
    {
        [result setValue:[self deploy] forKey:@"deploy"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.prefix = [dictionary objectForKey:@"prefix"];
    self.version = [dictionary objectForKey:@"version"];
    self.regionId = [dictionary objectForKey:@"regionId"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.keyCheck = [dictionary objectForKey:@"keyCheck"];
    self.authType = [dictionary objectForKey:@"authType"];
    self.prefixStrip = [dictionary objectForKey:@"prefixStrip"];
    self.groupType = [dictionary objectForKey:@"groupType"];
    self.jdsfName = [dictionary objectForKey:@"jdsfName"];
    self.jdsfRegistryName = [dictionary objectForKey:@"jdsfRegistryName"];
    self.jdsfId = [dictionary objectForKey:@"jdsfId"];
    self.deploy = [dictionary objectForKey:@"deploy"];
    return self;
}
 @end
@implementation UpdateGroupVpcPathModel
-(id) initWithJdsfGwId:(NSString*) jdsfGwId
      vpcPath:(NSString*)vpcPath { 
     self.jdsfGwId = jdsfGwId;               
     self.vpcPath = vpcPath;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self jdsfGwId])
    {
        [result setValue:[self jdsfGwId] forKey:@"jdsfGwId"];
    }
    if([self vpcPath])
    {
        [result setValue:[self vpcPath] forKey:@"vpcPath"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.jdsfGwId = [dictionary objectForKey:@"jdsfGwId"];
    self.vpcPath = [dictionary objectForKey:@"vpcPath"];
    return self;
}
 @end
@implementation BindJdsfGroup
-(id) initWithJdsfName:(NSString*) jdsfName
      jdsfRegistryName:(NSString*)jdsfRegistryName
      environment:(NSString*)environment
      jdsfId:(NSString*)jdsfId
      jdsfParam:(NSString*)jdsfParam
      jdsfRegion:(NSString*)jdsfRegion
      groupType:(NSString*)groupType { 
     self.jdsfName = jdsfName;               
     self.jdsfRegistryName = jdsfRegistryName;               
     self.environment = environment;               
     self.jdsfId = jdsfId;               
     self.jdsfParam = jdsfParam;               
     self.jdsfRegion = jdsfRegion;               
     self.groupType = groupType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self jdsfName])
    {
        [result setValue:[self jdsfName] forKey:@"jdsfName"];
    }
    if([self jdsfRegistryName])
    {
        [result setValue:[self jdsfRegistryName] forKey:@"jdsfRegistryName"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self jdsfId])
    {
        [result setValue:[self jdsfId] forKey:@"jdsfId"];
    }
    if([self jdsfParam])
    {
        [result setValue:[self jdsfParam] forKey:@"jdsfParam"];
    }
    if([self jdsfRegion])
    {
        [result setValue:[self jdsfRegion] forKey:@"jdsfRegion"];
    }
    if([self groupType])
    {
        [result setValue:[self groupType] forKey:@"groupType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.jdsfName = [dictionary objectForKey:@"jdsfName"];
    self.jdsfRegistryName = [dictionary objectForKey:@"jdsfRegistryName"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.jdsfId = [dictionary objectForKey:@"jdsfId"];
    self.jdsfParam = [dictionary objectForKey:@"jdsfParam"];
    self.jdsfRegion = [dictionary objectForKey:@"jdsfRegion"];
    self.groupType = [dictionary objectForKey:@"groupType"];
    return self;
}
 @end
@implementation DomainInfo
-(id) initWithApiGroupId:(NSString*) apiGroupId
      domainId:(NSString*)domainId
      domain:(NSString*)domain
      cname:(NSString*)cname
      protocol:(NSString*)protocol
      createTime:(NSString*)createTime
      status:(NSString*)status { 
     self.apiGroupId = apiGroupId;               
     self.domainId = domainId;               
     self.domain = domain;               
     self.cname = cname;               
     self.protocol = protocol;               
     self.createTime = createTime;               
     self.status = status;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self domainId])
    {
        [result setValue:[self domainId] forKey:@"domainId"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self cname])
    {
        [result setValue:[self cname] forKey:@"cname"];
    }
    if([self protocol])
    {
        [result setValue:[self protocol] forKey:@"protocol"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.domainId = [dictionary objectForKey:@"domainId"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.cname = [dictionary objectForKey:@"cname"];
    self.protocol = [dictionary objectForKey:@"protocol"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.status = [dictionary objectForKey:@"status"];
    return self;
}
 @end
 
@implementation ChargeAuth
-(id) initWithUserPin:(NSString*) userPin
      resourceId:(NSString*)resourceId { 
     self.userPin = userPin;               
     self.resourceId = resourceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self userPin])
    {
        [result setValue:[self userPin] forKey:@"userPin"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.userPin = [dictionary objectForKey:@"userPin"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    return self;
}
 @end
@implementation CreateAccessKey
-(id) initWithDescription:(NSString*) descriptionValue
      accessKeyType:(NSString*)accessKeyType
      accessKey:(NSString*)accessKey { 
     self.descriptionValue = descriptionValue;               
     self.accessKeyType = accessKeyType;               
     self.accessKey = accessKey;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self accessKeyType])
    {
        [result setValue:[self accessKeyType] forKey:@"accessKeyType"];
    }
    if([self accessKey])
    {
        [result setValue:[self accessKey] forKey:@"accessKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.accessKeyType = [dictionary objectForKey:@"accessKeyType"];
    self.accessKey = [dictionary objectForKey:@"accessKey"];
    return self;
}
 @end
@implementation BindGroups
-(id) initWithDeploymentId:(NSString*) deploymentId
      groupName:(NSString*)groupName
      environment:(NSString*)environment { 
     self.deploymentId = deploymentId;               
     self.groupName = groupName;               
     self.environment = environment;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deploymentId])
    {
        [result setValue:[self deploymentId] forKey:@"deploymentId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deploymentId = [dictionary objectForKey:@"deploymentId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.environment = [dictionary objectForKey:@"environment"];
    return self;
}
 @end
@implementation AccessAuth
-(id) initWithAccessAuthId:(NSString*) accessAuthId
      authUserType:(NSString*)authUserType
      accessKey:(NSString*)accessKey
      descriptionValue:(NSString*)descriptionValue
      bindGroups:(NSString*)bindGroups
      appId:(NSString*)appId { 
     self.accessAuthId = accessAuthId;               
     self.authUserType = authUserType;               
     self.accessKey = accessKey;               
     self.descriptionValue = descriptionValue;               
     self.bindGroups = bindGroups;               
     self.appId = appId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self accessAuthId])
    {
        [result setValue:[self accessAuthId] forKey:@"accessAuthId"];
    }
    if([self authUserType])
    {
        [result setValue:[self authUserType] forKey:@"authUserType"];
    }
    if([self accessKey])
    {
        [result setValue:[self accessKey] forKey:@"accessKey"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self bindGroups])
    {
        [result setValue:[self bindGroups] forKey:@"bindGroups"];
    }
    if([self appId])
    {
        [result setValue:[self appId] forKey:@"appId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accessAuthId = [dictionary objectForKey:@"accessAuthId"];
    self.authUserType = [dictionary objectForKey:@"authUserType"];
    self.accessKey = [dictionary objectForKey:@"accessKey"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.bindGroups = [dictionary objectForKey:@"bindGroups"];
    self.appId = [dictionary objectForKey:@"appId"];
    return self;
}
 @end
@implementation UserBindedGroups
-(id) initWithApiGroupId:(NSString*) apiGroupId
      groupName:(NSString*)groupName
      region:(NSString*)region
      authtime:(NSString*)authtime
      authUserType:(NSString*)authUserType
      accessKey:(NSString*)accessKey
      appId:(NSString*)appId
      environment:(NSString*)environment
      revision:(NSString*)revision { 
     self.apiGroupId = apiGroupId;               
     self.groupName = groupName;               
     self.region = region;               
     self.authtime = authtime;               
     self.authUserType = authUserType;               
     self.accessKey = accessKey;               
     self.appId = appId;               
     self.environment = environment;               
     self.revision = revision;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self authtime])
    {
        [result setValue:[self authtime] forKey:@"authtime"];
    }
    if([self authUserType])
    {
        [result setValue:[self authUserType] forKey:@"authUserType"];
    }
    if([self accessKey])
    {
        [result setValue:[self accessKey] forKey:@"accessKey"];
    }
    if([self appId])
    {
        [result setValue:[self appId] forKey:@"appId"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self revision])
    {
        [result setValue:[self revision] forKey:@"revision"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    self.region = [dictionary objectForKey:@"region"];
    self.authtime = [dictionary objectForKey:@"authtime"];
    self.authUserType = [dictionary objectForKey:@"authUserType"];
    self.accessKey = [dictionary objectForKey:@"accessKey"];
    self.appId = [dictionary objectForKey:@"appId"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.revision = [dictionary objectForKey:@"revision"];
    return self;
}
 @end
@implementation AccessAuthView
-(id) initWithAuthUserType:(NSString*) authUserType
      accessKey:(NSString*)accessKey
      deploymentIds:(NSString*)deploymentIds
      descriptionValue:(NSString*)descriptionValue { 
     self.authUserType = authUserType;               
     self.accessKey = accessKey;               
     self.deploymentIds = deploymentIds;               
     self.descriptionValue = descriptionValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self authUserType])
    {
        [result setValue:[self authUserType] forKey:@"authUserType"];
    }
    if([self accessKey])
    {
        [result setValue:[self accessKey] forKey:@"accessKey"];
    }
    if([self deploymentIds])
    {
        [result setValue:[self deploymentIds] forKey:@"deploymentIds"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.authUserType = [dictionary objectForKey:@"authUserType"];
    self.accessKey = [dictionary objectForKey:@"accessKey"];
    self.deploymentIds = [dictionary objectForKey:@"deploymentIds"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
}
 @end
@implementation CreateSubscriptionKey
-(id) initWithDescription:(NSString*) descriptionValue
      name:(NSString*)name { 
     self.descriptionValue = descriptionValue;               
     self.name = name;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.name = [dictionary objectForKey:@"name"];
    return self;
}
 @end
@implementation CreateApi
-(id) initWithApiGroupId:(NSString*) apiGroupId
      apiName:(NSString*)apiName
      action:(NSString*)action
      path:(NSString*)path
      matchType:(NSString*)matchType
      descriptionValue:(NSString*)descriptionValue
      reqParams:(NSArray<Parameter*>*)reqParams
      reqBody:(NSString*)reqBody
      resBody:(NSString*)resBody
      reqBodyType:(NSNumber*)reqBodyType
      resBodyType:(NSNumber*)resBodyType
      apiBackendConfig:(ApiBackendConfig*)apiBackendConfig
      backServiceType:(NSString*)backServiceType
      backServicePath:(NSString*)backServicePath
      backServiceId:(NSString*)backServiceId
      backServiceName:(NSString*)backServiceName
      backUrl:(NSString*)backUrl
      backServiceConfig:(NSNumber*)backServiceConfig
      backServiceVersion:(NSString*)backServiceVersion
      hufuAppTypeId:(NSNumber*)hufuAppTypeId
      editableReqBodyType:(NSString*)editableReqBodyType
      editableResBodyType:(NSString*)editableResBodyType { 
     self.apiGroupId = apiGroupId;               
     self.apiName = apiName;               
     self.action = action;               
     self.path = path;               
     self.matchType = matchType;               
     self.descriptionValue = descriptionValue;               
     self.reqParams = reqParams;               
     self.reqBody = reqBody;               
     self.resBody = resBody;               
     self.reqBodyType = reqBodyType;               
     self.resBodyType = resBodyType;               
     self.apiBackendConfig = apiBackendConfig;               
     self.backServiceType = backServiceType;               
     self.backServicePath = backServicePath;               
     self.backServiceId = backServiceId;               
     self.backServiceName = backServiceName;               
     self.backUrl = backUrl;               
     self.backServiceConfig = backServiceConfig;               
     self.backServiceVersion = backServiceVersion;               
     self.hufuAppTypeId = hufuAppTypeId;               
     self.editableReqBodyType = editableReqBodyType;               
     self.editableResBodyType = editableResBodyType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self apiName])
    {
        [result setValue:[self apiName] forKey:@"apiName"];
    }
    if([self action])
    {
        [result setValue:[self action] forKey:@"action"];
    }
    if([self path])
    {
        [result setValue:[self path] forKey:@"path"];
    }
    if([self matchType])
    {
        [result setValue:[self matchType] forKey:@"matchType"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self reqParams])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self reqParams] count]; i++) {
            Parameter* item = [[self reqParams] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"reqParams"];
    }
    if([self reqBody])
    {
        [result setValue:[self reqBody] forKey:@"reqBody"];
    }
    if([self resBody])
    {
        [result setValue:[self resBody] forKey:@"resBody"];
    }
    if([self reqBodyType])
    {
        [result setValue:[self reqBodyType] forKey:@"reqBodyType"];
    }
    if([self resBodyType])
    {
        [result setValue:[self resBodyType] forKey:@"resBodyType"];
    }
    if([self apiBackendConfig])
    {
        [result setValue:[[self apiBackendConfig] dictionary]forKey:@"apiBackendConfig"];
    }
    if([self backServiceType])
    {
        [result setValue:[self backServiceType] forKey:@"backServiceType"];
    }
    if([self backServicePath])
    {
        [result setValue:[self backServicePath] forKey:@"backServicePath"];
    }
    if([self backServiceId])
    {
        [result setValue:[self backServiceId] forKey:@"backServiceId"];
    }
    if([self backServiceName])
    {
        [result setValue:[self backServiceName] forKey:@"backServiceName"];
    }
    if([self backUrl])
    {
        [result setValue:[self backUrl] forKey:@"backUrl"];
    }
    if([self backServiceConfig])
    {
        [result setValue:[self backServiceConfig] forKey:@"backServiceConfig"];
    }
    if([self backServiceVersion])
    {
        [result setValue:[self backServiceVersion] forKey:@"backServiceVersion"];
    }
    if([self hufuAppTypeId])
    {
        [result setValue:[self hufuAppTypeId] forKey:@"hufuAppTypeId"];
    }
    if([self editableReqBodyType])
    {
        [result setValue:[self editableReqBodyType] forKey:@"editableReqBodyType"];
    }
    if([self editableResBodyType])
    {
        [result setValue:[self editableResBodyType] forKey:@"editableResBodyType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.apiName = [dictionary objectForKey:@"apiName"];
    self.action = [dictionary objectForKey:@"action"];
    self.path = [dictionary objectForKey:@"path"];
    self.matchType = [dictionary objectForKey:@"matchType"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    NSArray* reqParamsArray = [dictionary objectForKey:@"reqParams"];
    if(reqParamsArray&&![reqParamsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [reqParamsArray count];i++)
        {
            Parameter* item = [[Parameter alloc]initWithDic:[reqParamsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.reqParams = propertyArray;
    }
    self.reqBody = [dictionary objectForKey:@"reqBody"];
    self.resBody = [dictionary objectForKey:@"resBody"];
    self.reqBodyType = [dictionary objectForKey:@"reqBodyType"];
    self.resBodyType = [dictionary objectForKey:@"resBodyType"];
    self.apiBackendConfig = [[ApiBackendConfig alloc]initWithDic:[dictionary objectForKey:@"apiBackendConfig"]];
    self.backServiceType = [dictionary objectForKey:@"backServiceType"];
    self.backServicePath = [dictionary objectForKey:@"backServicePath"];
    self.backServiceId = [dictionary objectForKey:@"backServiceId"];
    self.backServiceName = [dictionary objectForKey:@"backServiceName"];
    self.backUrl = [dictionary objectForKey:@"backUrl"];
    self.backServiceConfig = [dictionary objectForKey:@"backServiceConfig"];
    self.backServiceVersion = [dictionary objectForKey:@"backServiceVersion"];
    self.hufuAppTypeId = [dictionary objectForKey:@"hufuAppTypeId"];
    self.editableReqBodyType = [dictionary objectForKey:@"editableReqBodyType"];
    self.editableResBodyType = [dictionary objectForKey:@"editableResBodyType"];
    return self;
}
 @end
@implementation ApiBackendConfig
-(id) initWithBackendPath:(NSString*) backendPath
      backendAction:(NSString*)backendAction
      backendParams:(NSArray<BackendParameter*>*)backendParams
      backendConstParams:(NSArray<Parameter*>*)backendConstParams { 
     self.backendPath = backendPath;               
     self.backendAction = backendAction;               
     self.backendParams = backendParams;               
     self.backendConstParams = backendConstParams;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self backendPath])
    {
        [result setValue:[self backendPath] forKey:@"backendPath"];
    }
    if([self backendAction])
    {
        [result setValue:[self backendAction] forKey:@"backendAction"];
    }
    if([self backendParams])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self backendParams] count]; i++) {
            BackendParameter* item = [[self backendParams] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"backendParams"];
    }
    if([self backendConstParams])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self backendConstParams] count]; i++) {
            Parameter* item = [[self backendConstParams] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"backendConstParams"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.backendPath = [dictionary objectForKey:@"backendPath"];
    self.backendAction = [dictionary objectForKey:@"backendAction"];
    NSArray* backendParamsArray = [dictionary objectForKey:@"backendParams"];
    if(backendParamsArray&&![backendParamsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [backendParamsArray count];i++)
        {
            BackendParameter* item = [[BackendParameter alloc]initWithDic:[backendParamsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.backendParams = propertyArray;
    }
    NSArray* backendConstParamsArray = [dictionary objectForKey:@"backendConstParams"];
    if(backendConstParamsArray&&![backendConstParamsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [backendConstParamsArray count];i++)
        {
            Parameter* item = [[Parameter alloc]initWithDic:[backendConstParamsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.backendConstParams = propertyArray;
    }
    return self;
}
 @end
@implementation ApiChargeSpec
-(id) initWithApiId:(NSString*) apiId
      formulas:(NSArray<Formula*>*)formulas { 
     self.apiId = apiId;               
     self.formulas = formulas;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiId])
    {
        [result setValue:[self apiId] forKey:@"apiId"];
    }
    if([self formulas])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self formulas] count]; i++) {
            Formula* item = [[self formulas] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"formulas"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiId = [dictionary objectForKey:@"apiId"];
    NSArray* formulasArray = [dictionary objectForKey:@"formulas"];
    if(formulasArray&&![formulasArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [formulasArray count];i++)
        {
            Formula* item = [[Formula alloc]initWithDic:[formulasArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.formulas = propertyArray;
    }
    return self;
}
 @end
@implementation ApiChargeSpecView
-(id) initWithAppCode:(NSString*) appCode
      serviceCode:(NSString*)serviceCode
      showStatus:(NSNumber*)showStatus
      chargeType:(NSNumber*)chargeType
      accessSuccessType:(NSNumber*)accessSuccessType
      apiChargeSpecs:(NSArray<ApiChargeSpec*>*)apiChargeSpecs { 
     self.appCode = appCode;               
     self.serviceCode = serviceCode;               
     self.showStatus = showStatus;               
     self.chargeType = chargeType;               
     self.accessSuccessType = accessSuccessType;               
     self.apiChargeSpecs = apiChargeSpecs;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self showStatus])
    {
        [result setValue:[self showStatus] forKey:@"showStatus"];
    }
    if([self chargeType])
    {
        [result setValue:[self chargeType] forKey:@"chargeType"];
    }
    if([self accessSuccessType])
    {
        [result setValue:[self accessSuccessType] forKey:@"accessSuccessType"];
    }
    if([self apiChargeSpecs])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self apiChargeSpecs] count]; i++) {
            ApiChargeSpec* item = [[self apiChargeSpecs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"apiChargeSpecs"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.showStatus = [dictionary objectForKey:@"showStatus"];
    self.chargeType = [dictionary objectForKey:@"chargeType"];
    self.accessSuccessType = [dictionary objectForKey:@"accessSuccessType"];
    NSArray* apiChargeSpecsArray = [dictionary objectForKey:@"apiChargeSpecs"];
    if(apiChargeSpecsArray&&![apiChargeSpecsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [apiChargeSpecsArray count];i++)
        {
            ApiChargeSpec* item = [[ApiChargeSpec alloc]initWithDic:[apiChargeSpecsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.apiChargeSpecs = propertyArray;
    }
    return self;
}
 @end
@implementation UpdatebackendConfig
-(id) initWithBaseGroupId:(NSString*) baseGroupId
      environment:(NSString*)environment
      backendUrl:(NSString*)backendUrl
      backendServiceType:(NSString*)backendServiceType
      headerParams:(NSArray<SimpleParameter*>*)headerParams
      queryParams:(NSArray<SimpleParameter*>*)queryParams
      descriptionValue:(NSString*)descriptionValue
      createTime:(NSNumber*)createTime
      sort:(NSNumber*)sort
      userSort:(NSNumber*)userSort
      jdsfId:(NSString*)jdsfId
      jdsfParam:(NSString*)jdsfParam
      jdsfRegion:(NSString*)jdsfRegion
      jdsfPin:(NSString*)jdsfPin { 
     self.baseGroupId = baseGroupId;               
     self.environment = environment;               
     self.backendUrl = backendUrl;               
     self.backendServiceType = backendServiceType;               
     self.headerParams = headerParams;               
     self.queryParams = queryParams;               
     self.descriptionValue = descriptionValue;               
     self.createTime = createTime;               
     self.sort = sort;               
     self.userSort = userSort;               
     self.jdsfId = jdsfId;               
     self.jdsfParam = jdsfParam;               
     self.jdsfRegion = jdsfRegion;               
     self.jdsfPin = jdsfPin;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self baseGroupId])
    {
        [result setValue:[self baseGroupId] forKey:@"baseGroupId"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self backendUrl])
    {
        [result setValue:[self backendUrl] forKey:@"backendUrl"];
    }
    if([self backendServiceType])
    {
        [result setValue:[self backendServiceType] forKey:@"backendServiceType"];
    }
    if([self headerParams])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self headerParams] count]; i++) {
            SimpleParameter* item = [[self headerParams] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"headerParams"];
    }
    if([self queryParams])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self queryParams] count]; i++) {
            SimpleParameter* item = [[self queryParams] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"queryParams"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self sort])
    {
        [result setValue:[self sort] forKey:@"sort"];
    }
    if([self userSort])
    {
        [result setValue:[self userSort] forKey:@"userSort"];
    }
    if([self jdsfId])
    {
        [result setValue:[self jdsfId] forKey:@"jdsfId"];
    }
    if([self jdsfParam])
    {
        [result setValue:[self jdsfParam] forKey:@"jdsfParam"];
    }
    if([self jdsfRegion])
    {
        [result setValue:[self jdsfRegion] forKey:@"jdsfRegion"];
    }
    if([self jdsfPin])
    {
        [result setValue:[self jdsfPin] forKey:@"jdsfPin"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.baseGroupId = [dictionary objectForKey:@"baseGroupId"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.backendUrl = [dictionary objectForKey:@"backendUrl"];
    self.backendServiceType = [dictionary objectForKey:@"backendServiceType"];
    NSArray* headerParamsArray = [dictionary objectForKey:@"headerParams"];
    if(headerParamsArray&&![headerParamsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [headerParamsArray count];i++)
        {
            SimpleParameter* item = [[SimpleParameter alloc]initWithDic:[headerParamsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.headerParams = propertyArray;
    }
    NSArray* queryParamsArray = [dictionary objectForKey:@"queryParams"];
    if(queryParamsArray&&![queryParamsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [queryParamsArray count];i++)
        {
            SimpleParameter* item = [[SimpleParameter alloc]initWithDic:[queryParamsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.queryParams = propertyArray;
    }
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.sort = [dictionary objectForKey:@"sort"];
    self.userSort = [dictionary objectForKey:@"userSort"];
    self.jdsfId = [dictionary objectForKey:@"jdsfId"];
    self.jdsfParam = [dictionary objectForKey:@"jdsfParam"];
    self.jdsfRegion = [dictionary objectForKey:@"jdsfRegion"];
    self.jdsfPin = [dictionary objectForKey:@"jdsfPin"];
    return self;
}
 @end
@implementation BackendConfig
-(id) initWithBackendConfigId:(NSString*) backendConfigId
      baseGroupId:(NSString*)baseGroupId
      environment:(NSString*)environment
      backendUrl:(NSString*)backendUrl
      backendServiceType:(NSString*)backendServiceType
      headerParams:(NSArray<SimpleParameter*>*)headerParams
      queryParams:(NSArray<SimpleParameter*>*)queryParams
      descriptionValue:(NSString*)descriptionValue
      createTime:(NSNumber*)createTime
      sort:(NSNumber*)sort
      userSort:(NSNumber*)userSort
      jdsfId:(NSString*)jdsfId
      jdsfParam:(NSString*)jdsfParam
      jdsfRegion:(NSString*)jdsfRegion
      jdsfPin:(NSString*)jdsfPin { 
     self.backendConfigId = backendConfigId;               
     self.baseGroupId = baseGroupId;               
     self.environment = environment;               
     self.backendUrl = backendUrl;               
     self.backendServiceType = backendServiceType;               
     self.headerParams = headerParams;               
     self.queryParams = queryParams;               
     self.descriptionValue = descriptionValue;               
     self.createTime = createTime;               
     self.sort = sort;               
     self.userSort = userSort;               
     self.jdsfId = jdsfId;               
     self.jdsfParam = jdsfParam;               
     self.jdsfRegion = jdsfRegion;               
     self.jdsfPin = jdsfPin;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self backendConfigId])
    {
        [result setValue:[self backendConfigId] forKey:@"backendConfigId"];
    }
    if([self baseGroupId])
    {
        [result setValue:[self baseGroupId] forKey:@"baseGroupId"];
    }
    if([self environment])
    {
        [result setValue:[self environment] forKey:@"environment"];
    }
    if([self backendUrl])
    {
        [result setValue:[self backendUrl] forKey:@"backendUrl"];
    }
    if([self backendServiceType])
    {
        [result setValue:[self backendServiceType] forKey:@"backendServiceType"];
    }
    if([self headerParams])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self headerParams] count]; i++) {
            SimpleParameter* item = [[self headerParams] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"headerParams"];
    }
    if([self queryParams])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self queryParams] count]; i++) {
            SimpleParameter* item = [[self queryParams] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"queryParams"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self sort])
    {
        [result setValue:[self sort] forKey:@"sort"];
    }
    if([self userSort])
    {
        [result setValue:[self userSort] forKey:@"userSort"];
    }
    if([self jdsfId])
    {
        [result setValue:[self jdsfId] forKey:@"jdsfId"];
    }
    if([self jdsfParam])
    {
        [result setValue:[self jdsfParam] forKey:@"jdsfParam"];
    }
    if([self jdsfRegion])
    {
        [result setValue:[self jdsfRegion] forKey:@"jdsfRegion"];
    }
    if([self jdsfPin])
    {
        [result setValue:[self jdsfPin] forKey:@"jdsfPin"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.backendConfigId = [dictionary objectForKey:@"backendConfigId"];
    self.baseGroupId = [dictionary objectForKey:@"baseGroupId"];
    self.environment = [dictionary objectForKey:@"environment"];
    self.backendUrl = [dictionary objectForKey:@"backendUrl"];
    self.backendServiceType = [dictionary objectForKey:@"backendServiceType"];
    NSArray* headerParamsArray = [dictionary objectForKey:@"headerParams"];
    if(headerParamsArray&&![headerParamsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [headerParamsArray count];i++)
        {
            SimpleParameter* item = [[SimpleParameter alloc]initWithDic:[headerParamsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.headerParams = propertyArray;
    }
    NSArray* queryParamsArray = [dictionary objectForKey:@"queryParams"];
    if(queryParamsArray&&![queryParamsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [queryParamsArray count];i++)
        {
            SimpleParameter* item = [[SimpleParameter alloc]initWithDic:[queryParamsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.queryParams = propertyArray;
    }
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.sort = [dictionary objectForKey:@"sort"];
    self.userSort = [dictionary objectForKey:@"userSort"];
    self.jdsfId = [dictionary objectForKey:@"jdsfId"];
    self.jdsfParam = [dictionary objectForKey:@"jdsfParam"];
    self.jdsfRegion = [dictionary objectForKey:@"jdsfRegion"];
    self.jdsfPin = [dictionary objectForKey:@"jdsfPin"];
    return self;
}
 @end
@implementation AccessKey
-(id) initWithAccessKeyId:(NSString*) accessKeyId
      descriptionValue:(NSString*)descriptionValue
      accessKeyType:(NSString*)accessKeyType
      accessKeyValue:(NSString*)accessKeyValue
      bindGroups:(NSArray<BindGroups*>*)bindGroups { 
     self.accessKeyId = accessKeyId;               
     self.descriptionValue = descriptionValue;               
     self.accessKeyType = accessKeyType;               
     self.accessKeyValue = accessKeyValue;               
     self.bindGroups = bindGroups;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self accessKeyId])
    {
        [result setValue:[self accessKeyId] forKey:@"accessKeyId"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self accessKeyType])
    {
        [result setValue:[self accessKeyType] forKey:@"accessKeyType"];
    }
    if([self accessKeyValue])
    {
        [result setValue:[self accessKeyValue] forKey:@"accessKey"];
    }
    if([self bindGroups])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self bindGroups] count]; i++) {
            BindGroups* item = [[self bindGroups] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"bindGroups"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accessKeyId = [dictionary objectForKey:@"accessKeyId"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.accessKeyType = [dictionary objectForKey:@"accessKeyType"];
    self.accessKeyValue = [dictionary objectForKey:@"accessKey"];
    NSArray* bindGroupsArray = [dictionary objectForKey:@"bindGroups"];
    if(bindGroupsArray&&![bindGroupsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [bindGroupsArray count];i++)
        {
            BindGroups* item = [[BindGroups alloc]initWithDic:[bindGroupsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.bindGroups = propertyArray;
    }
    return self;
}
 @end
@implementation SubscriptionKey
-(id) initWithSubscriptionKeyId:(NSString*) subscriptionKeyId
      descriptionValue:(NSString*)descriptionValue
      subscriptionKeyValue:(NSString*)subscriptionKeyValue
      name:(NSString*)name
      createTime:(NSString*)createTime
      bindGroups:(NSArray<BindGroups*>*)bindGroups { 
     self.subscriptionKeyId = subscriptionKeyId;               
     self.descriptionValue = descriptionValue;               
     self.subscriptionKeyValue = subscriptionKeyValue;               
     self.name = name;               
     self.createTime = createTime;               
     self.bindGroups = bindGroups;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subscriptionKeyId])
    {
        [result setValue:[self subscriptionKeyId] forKey:@"subscriptionKeyId"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self subscriptionKeyValue])
    {
        [result setValue:[self subscriptionKeyValue] forKey:@"subscriptionKey"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self bindGroups])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self bindGroups] count]; i++) {
            BindGroups* item = [[self bindGroups] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"bindGroups"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subscriptionKeyId = [dictionary objectForKey:@"subscriptionKeyId"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.subscriptionKeyValue = [dictionary objectForKey:@"subscriptionKey"];
    self.name = [dictionary objectForKey:@"name"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    NSArray* bindGroupsArray = [dictionary objectForKey:@"bindGroups"];
    if(bindGroupsArray&&![bindGroupsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [bindGroupsArray count];i++)
        {
            BindGroups* item = [[BindGroups alloc]initWithDic:[bindGroupsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.bindGroups = propertyArray;
    }
    return self;
}
 @end
@implementation Api
-(id) initWithApiId:(NSString*) apiId
      apiGroupId:(NSString*)apiGroupId
      apiName:(NSString*)apiName
      action:(NSString*)action
      path:(NSString*)path
      matchType:(NSString*)matchType
      backServiceType:(NSString*)backServiceType
      descriptionValue:(NSString*)descriptionValue
      reqParams:(NSArray<Parameter*>*)reqParams
      reqBody:(NSString*)reqBody
      resBody:(NSString*)resBody
      reqBodyType:(NSNumber*)reqBodyType
      resBodyType:(NSNumber*)resBodyType
      apiBackendConfig:(ApiBackendConfig*)apiBackendConfig
      hufuAppTypeId:(NSNumber*)hufuAppTypeId
      deploymentEnvironment:(NSArray<NSString*>*)deploymentEnvironment
      editableReqBodyType:(NSString*)editableReqBodyType
      editableResBodyType:(NSString*)editableResBodyType
      wafStatus:(NSString*)wafStatus { 
     self.apiId = apiId;               
     self.apiGroupId = apiGroupId;               
     self.apiName = apiName;               
     self.action = action;               
     self.path = path;               
     self.matchType = matchType;               
     self.backServiceType = backServiceType;               
     self.descriptionValue = descriptionValue;               
     self.reqParams = reqParams;               
     self.reqBody = reqBody;               
     self.resBody = resBody;               
     self.reqBodyType = reqBodyType;               
     self.resBodyType = resBodyType;               
     self.apiBackendConfig = apiBackendConfig;               
     self.hufuAppTypeId = hufuAppTypeId;               
     self.deploymentEnvironment = deploymentEnvironment;               
     self.editableReqBodyType = editableReqBodyType;               
     self.editableResBodyType = editableResBodyType;               
     self.wafStatus = wafStatus;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self apiId])
    {
        [result setValue:[self apiId] forKey:@"apiId"];
    }
    if([self apiGroupId])
    {
        [result setValue:[self apiGroupId] forKey:@"apiGroupId"];
    }
    if([self apiName])
    {
        [result setValue:[self apiName] forKey:@"apiName"];
    }
    if([self action])
    {
        [result setValue:[self action] forKey:@"action"];
    }
    if([self path])
    {
        [result setValue:[self path] forKey:@"path"];
    }
    if([self matchType])
    {
        [result setValue:[self matchType] forKey:@"matchType"];
    }
    if([self backServiceType])
    {
        [result setValue:[self backServiceType] forKey:@"backServiceType"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self reqParams])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self reqParams] count]; i++) {
            Parameter* item = [[self reqParams] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"reqParams"];
    }
    if([self reqBody])
    {
        [result setValue:[self reqBody] forKey:@"reqBody"];
    }
    if([self resBody])
    {
        [result setValue:[self resBody] forKey:@"resBody"];
    }
    if([self reqBodyType])
    {
        [result setValue:[self reqBodyType] forKey:@"reqBodyType"];
    }
    if([self resBodyType])
    {
        [result setValue:[self resBodyType] forKey:@"resBodyType"];
    }
    if([self apiBackendConfig])
    {
        [result setValue:[[self apiBackendConfig] dictionary]forKey:@"apiBackendConfig"];
    }
    if([self hufuAppTypeId])
    {
        [result setValue:[self hufuAppTypeId] forKey:@"hufuAppTypeId"];
    }
    if([self deploymentEnvironment])
    {
        [result setValue:[self deploymentEnvironment] forKey:@"deploymentEnvironment"];
    }
    if([self editableReqBodyType])
    {
        [result setValue:[self editableReqBodyType] forKey:@"editableReqBodyType"];
    }
    if([self editableResBodyType])
    {
        [result setValue:[self editableResBodyType] forKey:@"editableResBodyType"];
    }
    if([self wafStatus])
    {
        [result setValue:[self wafStatus] forKey:@"wafStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.apiId = [dictionary objectForKey:@"apiId"];
    self.apiGroupId = [dictionary objectForKey:@"apiGroupId"];
    self.apiName = [dictionary objectForKey:@"apiName"];
    self.action = [dictionary objectForKey:@"action"];
    self.path = [dictionary objectForKey:@"path"];
    self.matchType = [dictionary objectForKey:@"matchType"];
    self.backServiceType = [dictionary objectForKey:@"backServiceType"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    NSArray* reqParamsArray = [dictionary objectForKey:@"reqParams"];
    if(reqParamsArray&&![reqParamsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [reqParamsArray count];i++)
        {
            Parameter* item = [[Parameter alloc]initWithDic:[reqParamsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.reqParams = propertyArray;
    }
    self.reqBody = [dictionary objectForKey:@"reqBody"];
    self.resBody = [dictionary objectForKey:@"resBody"];
    self.reqBodyType = [dictionary objectForKey:@"reqBodyType"];
    self.resBodyType = [dictionary objectForKey:@"resBodyType"];
    self.apiBackendConfig = [[ApiBackendConfig alloc]initWithDic:[dictionary objectForKey:@"apiBackendConfig"]];
    self.hufuAppTypeId = [dictionary objectForKey:@"hufuAppTypeId"];
    self.deploymentEnvironment = [dictionary objectForKey:@"deploymentEnvironment"];
    self.editableReqBodyType = [dictionary objectForKey:@"editableReqBodyType"];
    self.editableResBodyType = [dictionary objectForKey:@"editableResBodyType"];
    self.wafStatus = [dictionary objectForKey:@"wafStatus"];
    return self;
}
 @end
 
 


